﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //模拟排队购电影票
            Queue queue = new Queue();
            queue.Enqueue("小强");
            queue.Enqueue("小王");
            queue.Enqueue("小刘");
            Console.WriteLine("购票开始：");
            while (queue.Count != 0)
            {
                Console.WriteLine(queue.Dequeue()+ "已购票！");
            }
            Console.WriteLine("购票结束");


            //使用ToArray()方法将Queue类的实例中存放的值复制到数组后再遍历数组
            Queue queue1 = new Queue();
            queue1.Enqueue("abc");
            queue1.Enqueue("6bc");
            queue1.Enqueue("a16f");
            queue1.Enqueue("a36df");
            object[] obj = queue1.ToArray();
            foreach(var io in obj)
            {
                Console.WriteLine(io);
            }

            //使用 GetEnumerator() 方法来遍历
            Queue queue2 = new Queue();
            queue2.Enqueue("aaa");
            queue2.Enqueue("bbb");
            queue2.Enqueue("ccc");
            IEnumerator enumerator = queue2.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Current);
            }
        }
    }
}
